<?php
    define('_IN_CMS', 1);
    include('inc/php/core/core.php');
    include('inc/php/html/head.php');
    require('inc/php/html/nav.php');

    // Удаление записи в статистике
    if (isset($_GET['delete'])) {
        // Передаём параметр - номер записи
        if (self::can($user, 1)) {
            // Если SVI
            if (isset($_GET['fp'])) $fp = (int)$_GET['fp']; // С какой страницы пришли, чтобы на неё вернуться
            $delete = (int)$_GET['delete'];
            $user::db_query("DELETE FROM `users00` where `id` = '$delete' --"); // Удаляем запись из статистики
            echo '<META HTTP-EQUIV="Refresh" CONTENT="0; URL=user.php?page='.$fp.'">'; // Возвращаемся, откуда пришли
            exit; // Остановить выполнение скрипта
        } else { // Если не авторизованы
            echo '<META HTTP-EQUIV="Refresh" CONTENT="0; URL=user.php">';
            exit;
        }
    }

    $users_status = $user::db_query("Show TABLE STATUS LIKE 'users00'"); //Состояние таблицы
    $count = mysql_result($users_status, 0, 'Rows'); //Количество записей
    if ($count < $to) { // Если количество записей меньше, чем выбранный диапазон для показа,
        $to = $count;    // то приравниваем эти значения в меньшую сторону
    } else {
        $pages = ceil($count/$pp); // Количество страниц, округление в большую сторону
    }
        
    if (isset($_GET['page'])) { // Параметр - номер страницы
        $cur_page = abs((int)$_GET['page']);
        $from = ($cur_page*$pp)-$pp;
        $to = $from + $pp;
    }

    $ip_filter  = '';
    $ua_filter  = '';
    $os_filter  = '';
    $ref_filter = '';
    $req_filter = '';
    
    if (isset($_POST['ip_filter'])) { // Фильтрация IP, оставляем только точки
        // Количество точек или символов не имеет значения, так как может фильтроваться(поиск по БД) и часть запроса
        $ip_filter = ereg_replace('[^0-9.]', '', $_POST['ip_filter']);
    }
    if (isset($_POST['ua_filter'])) {
        $ua_filter = ereg_replace('[^a-zA-ZА-Яа-я0-9\s]', '', $_POST['ua_filter']);
    }
    if (isset($_POST['os_filter'])) {
        $os_filter = ereg_replace('[^a-zA-ZА-Яа-я0-9\s]', '', $_POST['os_filter']);
    }
    if (isset($_POST['ref_filter'])) {
        $ref_filter = ereg_replace('[^a-zA-Z0-9]', '', $_POST['ref_filter']);
    }
    if (isset($_POST['req_filter'])) {
        $req_filter = ereg_replace('[^a-zA-Z0-9]', '', $_POST['req_filter']);
    }
    
    if (isset($_POST['reset'])) {
        // Сброс фильтра
        $ip_filter  = '';
        $ua_filter  = '';
        $os_filter  = '';
        $ref_filter = '';
        $req_filter = '';
    }
    
    $sql_ua  = "    `ua`  LIKE '%$ua_filter%'";  // Такой
    $sql_os  = "AND `ua`  LIKE '%$os_filter%'";  // Вот
    $sql_ip  = "AND `ip`  LIKE '%$ip_filter%'";  // Ужасный
    $sql_ref = "AND `ref` LIKE '%$ref_filter%'"; // И непонятный
    $sql_req = "AND `ref` LIKE '%$req_filter%'"; // Код

    // А в этот запрос мы вставляем строки с тем, что нужно отфильтровать
    $users = $user::db_query("SELECT * FROM `users00` ORDER BY `id` ASC LIMIT $from, $to --");

        echo '
            <div style="border-top: 2px solid #ddd;">
                <form action="user.php?deleted" method="post">
                    IP: <input type="text" name="ip_filter" value="'.$ip_filter.'">
                    UA: <input type="text" name="ua_filter" value="'.$ua_filter.'">
                    OS: <input type="text" name="os_filter" value="'.$os_filter.'">
                    <input type="submit" name="filter" value="Отфильтровать" class="button_filter">
                    <input type="submit" name="reset" value="X" class="button_reset">
                </form>
            </div>
            ';
        // Выводим номера страниц
        if ($pages > 1) {
            echo '<br>';
            for ($i=1; $i<=$pages; $i++) {
                echo '<span class="statistics_table"><a href="user.php?page='.$i.'">'.$i.'</a></span> ';
            }
        }
        echo '
                <table class="statistics_table">
                <thead>
                    <tr class="stat_tr">
                        <td class="stat_td_time">Логин</td>
                        <td class="stat_td_url">Имя</td>
                        <td class="stat_td_ip">Пароль</td>
                        <td class="stat_td_ua">Инфо</td>
                        <td class="stat_td_ref">Веб-страница</td>
                        <td class="stat_td_do">[X]</td>
                    </tr>
                </thead>';
        $pp = mysql_num_rows($users);
        if ($cur_page >= 2) {
            if ($pp <= 0) {
                echo '<META HTTP-EQUIV="Refresh" CONTENT="0; URL=user.php?page='.--$cur_page.'">';
            }
        }
                    
        for ($i=0; $i<$pp; $i++) {
            echo '<tr>
                <td class="statistics_table_td">
                    <a href="/user/'.(mysql_result($users, $i, 'login')).'">'.(mysql_result($users, $i, 'login')).'</a>
                </td>
                <td class="statistics_table_td">'.mysql_result($users, $i, 'name').'</td>
                <td class="statistics_table_td">'.mysql_result($users, $i, 'password').'</td>
                <td class="statistics_table_td">'.mysql_result($users, $i, 'about').'</td>
                <td class="statistics_table_td">'.mysql_result($users, $i, 'webpage').'</td>
                <td class="statistics_table_td" style="width: 24px;">
                    <a href="delete.php?user_id='.mysql_result($users, $i, 'id').'&amp;fp='.$cur_page.'">
                        <img src="/inc/php/html/themes/0/images/delete.png" alt="X">
                    </a>
                </td>
                </tr>';
        }
        echo '</table>';
    include('inc/php/html/footer.php');
?>
